]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
status/network: Simplify section setup
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 1 Aug 2022 17:11:59 +0000 (19:11 +0200)
committerMarge Bot <marge-bot@gnome.org>
Wed, 10 Aug 2022 12:17:19 +0000 (12:17 +0000)
With the latest changes, device- and VPN sections now require
exactly the same setup.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2407>

js/ui/status/network.js

index 148169b464640ff4f2b437b518e369b6c4d3d106..c212cc200a2bf500461d37e46cb7dbf633636285 100644 (file)
@@ -1626,10 +1626,13 @@ class Indicator extends PanelMenu.SystemIndicator {
 
         this._notification = null;
 
+        this._allSections = [];
+
         this._wiredSection = new NMWiredSection();
         this._wirelessSection = new NMWirelessSection();
         this._modemSection = new NMModemSection();
         this._btSection = new NMBluetoothSection();
+        this._vpnSection = new NMVpnSection();
 
         this._deviceSections = new Map([
             [NM.DeviceType.ETHERNET, this._wiredSection],
@@ -1637,18 +1640,16 @@ class Indicator extends PanelMenu.SystemIndicator {
             [NM.DeviceType.MODEM, this._modemSection],
             [NM.DeviceType.BT, this._btSection],
         ]);
-        for (const section of this._deviceSections.values()) {
+        this._allSections.push(...this._deviceSections.values());
+        this._allSections.push(this._vpnSection);
+
+        this._allSections.forEach(section => {
             section.connectObject(
                 'activation-failed', () => this._onActivationFailed(),
                 'icon-changed', () => this._updateIcon(),
                 this);
             this.menu.addMenuItem(section);
-        }
-
-        this._vpnSection = new NMVpnSection();
-        this._vpnSection.connect('activation-failed', this._onActivationFailed.bind(this));
-        this._vpnSection.connect('icon-changed', this._updateIcon.bind(this));
-        this.menu.addMenuItem(this._vpnSection);
+        });
 
         this._getClient().catch(logError);
     }
@@ -1656,9 +1657,8 @@ class Indicator extends PanelMenu.SystemIndicator {
     async _getClient() {
         this._client = await NM.Client.new_async(null);
 
-        this._deviceSections.forEach(
+        this._allSections.forEach(
             section => section.setClient(this._client));
-        this._vpnSection.setClient(this._client);
 
         this._client.bind_property('nm-running',
             this, 'visible',